package com.llbnk.srb.sms.client;

import com.llbnk.srb.sms.client.fallback.CoreUserInfoClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * @author shkstart
 * @create 2022-04-15 15:36
 */
@FeignClient(value = "service-core" , fallback = CoreUserInfoClientFallback.class)
//这个注解的意思，调用的服务器是service-core
//这个服务器的名字是在core中的applicaiton.yml中定义的application:name:service-core 服务名
//fallback增加容错类，防止远程服务器宕机
public interface CoreUserInfoClient {

    /**
     * 这个接口就是原来core中的UserInfoController的方法接口
     * 这个写在CoreUserInfoClient的接口相当于我们远程的代理接口
     * 在sms中调用CoreUserInfoClient中的checkMobile就相当于调用了UserInfoController的checkMobile
     * 注意！http请求的路径，这个接口的路径必须是完整路径
     * @param mobile
     * @return
     */
    @GetMapping("/api/core/userInfo/checkMobile/{mobile}")
    boolean checkMobile(@PathVariable String mobile);
}
